-<?php\r
-\r
-/**\r
- * @group Database\r
- * @group Cache\r
- */\r
-class GenderCacheTest extends MediaWikiLangTestCase {\r
-\r
- function setUp() {\r
- global $wgDefaultUserOptions;\r
- parent::setUp();\r
- //ensure the correct default gender\r
- $wgDefaultUserOptions['gender'] = 'unknown';\r
- }\r
-\r
- function addDBData() {\r
- $user = User::newFromName( 'UTMale' );\r
- if( $user->getID() == 0 ) {\r
- $user->addToDatabase();\r
- $user->setPassword( 'UTMalePassword' );\r
- }\r
- //ensure the right gender\r
- $user->setOption( 'gender', 'male' );\r
- $user->saveSettings();\r
-\r
- $user = User::newFromName( 'UTFemale' );\r
- if( $user->getID() == 0 ) {\r
- $user->addToDatabase();\r
- $user->setPassword( 'UTFemalePassword' );\r
- }\r
- //ensure the right gender\r
- $user->setOption( 'gender', 'female' );\r
- $user->saveSettings();\r
-\r
- $user = User::newFromName( 'UTDefaultGender' );\r
- if( $user->getID() == 0 ) {\r
- $user->addToDatabase();\r
- $user->setPassword( 'UTDefaultGenderPassword' );\r
- }\r
- //ensure the default gender\r
- $user->setOption( 'gender', null );\r
- $user->saveSettings();\r
- }\r
-\r
- /**\r
- * test usernames\r
- *\r
- * @dataProvider dataUserName\r
- */\r
- function testUserName( $username, $expectedGender ) {\r
- $genderCache = GenderCache::singleton();\r
- $gender = $genderCache->getGenderOf( $username );\r
- $this->assertEquals( $gender, $expectedGender, "GenderCache normal" );\r
- }\r
-\r
- /**\r
- * genderCache should work with user objects, too\r
- *\r
- * @dataProvider dataUserName\r
- */\r
- function testUserObjects( $username, $expectedGender ) {\r
- $genderCache = GenderCache::singleton();\r
- $user = User::newFromName( $username );\r
- $gender = $genderCache->getGenderOf( $user );\r
- $this->assertEquals( $gender, $expectedGender, "GenderCache normal" );\r
- }\r
-\r
- function dataUserName() {\r
- return array(\r
- array( 'UTMale', 'male' ),\r
- array( 'UTFemale', 'female' ),\r
- array( 'UTDefaultGender', 'unknown' ),\r
- array( 'UTNotExist', 'unknown' ),\r
- //some not valid user\r
- array( '127.0.0.1', 'unknown' ),\r
- array( 'user@test', 'unknown' ),\r
- );\r
- }\r
-\r
- /**\r
- * test strip of subpages to avoid unnecessary queries\r
- * against the never existing username\r
- *\r
- * @dataProvider dataStripSubpages\r
- */\r
- function testStripSubpages( $pageWithSubpage, $expectedGender ) {\r
- $genderCache = GenderCache::singleton();\r
- $gender = $genderCache->getGenderOf( $pageWithSubpage );\r
- $this->assertEquals( $gender, $expectedGender, "GenderCache must strip of subpages" );\r
- }\r
-\r
- function dataStripSubpages() {\r
- return array(\r
- array( 'UTMale/subpage', 'male' ),\r
- array( 'UTFemale/subpage', 'female' ),\r
- array( 'UTDefaultGender/subpage', 'unknown' ),\r
- array( 'UTNotExist/subpage', 'unknown' ),\r
- array( '127.0.0.1/subpage', 'unknown' ),\r
- );\r
- }\r
-}\r
+<?php
+
+/**
+ * @group Database
+ * @group Cache
+ */
+class GenderCacheTest extends MediaWikiLangTestCase {
+
+ function setUp() {
+ global $wgDefaultUserOptions;
+ parent::setUp();
+ //ensure the correct default gender
+ $wgDefaultUserOptions['gender'] = 'unknown';
+ }
+
+ function addDBData() {
+ $user = User::newFromName( 'UTMale' );
+ if( $user->getID() == 0 ) {
+ $user->addToDatabase();
+ $user->setPassword( 'UTMalePassword' );
+ }
+ //ensure the right gender
+ $user->setOption( 'gender', 'male' );
+ $user->saveSettings();
+
+ $user = User::newFromName( 'UTFemale' );
+ if( $user->getID() == 0 ) {
+ $user->addToDatabase();
+ $user->setPassword( 'UTFemalePassword' );
+ }
+ //ensure the right gender
+ $user->setOption( 'gender', 'female' );
+ $user->saveSettings();
+
+ $user = User::newFromName( 'UTDefaultGender' );
+ if( $user->getID() == 0 ) {
+ $user->addToDatabase();
+ $user->setPassword( 'UTDefaultGenderPassword' );
+ }
+ //ensure the default gender
+ $user->setOption( 'gender', null );
+ $user->saveSettings();
+ }
+
+ /**
+ * test usernames
+ *
+ * @dataProvider dataUserName
+ */
+ function testUserName( $username, $expectedGender ) {
+ $genderCache = GenderCache::singleton();
+ $gender = $genderCache->getGenderOf( $username );
+ $this->assertEquals( $gender, $expectedGender, "GenderCache normal" );
+ }
+
+ /**
+ * genderCache should work with user objects, too
+ *
+ * @dataProvider dataUserName
+ */
+ function testUserObjects( $username, $expectedGender ) {
+ $genderCache = GenderCache::singleton();
+ $user = User::newFromName( $username );
+ $gender = $genderCache->getGenderOf( $user );
+ $this->assertEquals( $gender, $expectedGender, "GenderCache normal" );
+ }
+
+ function dataUserName() {
+ return array(
+ array( 'UTMale', 'male' ),
+ array( 'UTFemale', 'female' ),
+ array( 'UTDefaultGender', 'unknown' ),
+ array( 'UTNotExist', 'unknown' ),
+ //some not valid user
+ array( '127.0.0.1', 'unknown' ),
+ array( 'user@test', 'unknown' ),
+ );
+ }
+
+ /**
+ * test strip of subpages to avoid unnecessary queries
+ * against the never existing username
+ *
+ * @dataProvider dataStripSubpages
+ */
+ function testStripSubpages( $pageWithSubpage, $expectedGender ) {
+ $genderCache = GenderCache::singleton();
+ $gender = $genderCache->getGenderOf( $pageWithSubpage );
+ $this->assertEquals( $gender, $expectedGender, "GenderCache must strip of subpages" );
+ }
+
+ function dataStripSubpages() {
+ return array(
+ array( 'UTMale/subpage', 'male' ),
+ array( 'UTFemale/subpage', 'female' ),
+ array( 'UTDefaultGender/subpage', 'unknown' ),
+ array( 'UTNotExist/subpage', 'unknown' ),
+ array( '127.0.0.1/subpage', 'unknown' ),
+ );
+ }
+}